/***************************************************
 * 本文件主要介绍基本数据类型的种类、sizeof大小、
 * 以及使用printf打印时如何格式化
 * 
 *          1        2                 4                                   8
 * |————————|————————|————————|————————|————————|————————|————————|————————|
 * |——bool——|    %d
 * |——char——|    %c
 * |————short int————|    %d
 * |——————————————int——————————————————|    %d / %u
 * |——————————————long—————————————————|    %ld
 * |——————————————float————————————————|    %f
 * |——————————————char*————————————————|    %s
 * |———————————————ptr—————————————————|    %p
 * |——————————————double———————————————————————————————————————————————————|    %f
 * |——————————————long long————————————————————————————————————————————————|    %lld
 *
 * *************************************************/
#include "common.h"
using namespace std;

int main()
{
    bool val1 = true;
    printf("sizeof(bool) = %d, val = %d\n", sizeof(bool), val1);

    char val2 = 'a';
    printf("sizeof(char) = %d, val = %d\n", sizeof(char), val2);

    short int val3 = 23;
    printf("sizeof(short int) = %d, val = %d\n", sizeof(short int), val3);

    int val4 = 78;
    printf("sizeof(int) = %d, val = %d\n", sizeof(int), val4);

    long val5 = 18;
    printf("sizeof(long) = %d, val = %d\n", sizeof(long), val5);

    float val6 = 5.1;
    printf("sizeof(long) = %d, val = %f\n", sizeof(float), val6);

    char* val7 = "wang";
    printf("sizeof(char*) = %d, val = %s\n", sizeof(char*), val7);

    char* val8 = "dong";
    printf("sizeof(char*) = %d, val = %p\n", sizeof(char*), val8);

    double val9 = 5.78;
    printf("sizeof(double) = %d, val = %f\n", sizeof(double), val9);

    long long val10 = 789;
    printf("sizeof(long long) = %d, val = %lld\n", sizeof(long long), val10);
    return 0;
}